Teria como colocar pra aparecer o nome do jogador e o level pra aparecer na tela?
- Fórum
- OTServ
- Recursos
- Scripting
- CreatureScripts e Movements
- Sistema automático de recompensa por matar o top lvl do otserver
Sistema automático de recompensa por matar o top lvl do otserver
Por Poccnn, 10 de jun. de 2017 em CreatureScripts e Movements
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Aquela mensagem em vermelho para o servidor todo?
Sim... se tiver como claro...
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Existe duas formas práticas de fazer isso. Uma com globalevents e outra com ondeath.
A com globalevents, fica enviando de tempos em tempos a msg de quen é o top level atual; a outra manda a mensagem uma vez, toda vez que se mata o top level atual.
Vou deixar aqui a globalevents para ficar anunciando o toplevel atual.
Citarfunction onThink(cid, interval)
local name,lvl = getTopLevel()
doBroadcastMessage("top level: "..name.." as level: "..lvl..".")
end
entendi... mais teria como colocar que se matando aquele player especifico no caso o top level do sv, voce ganha uma recompensa...? outra coisa q eu queria saber, como colocar essa recompensa especifica...
Editado Agosto 15 por lpdz
nao dar double post
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Substitua a função doplayeraddmoney para doplayeradditem com os respectivos parâmetros e a recompensa desejada.
teria como colocar por favor pra mim como ficaria, so pra mim colocar o id que eu quero... é pq n manjo muito disso, mais desde ja obrigado por sanar todas as minhas duvidas...
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

47 minutos atrás, lpdz disse:teria como colocar por favor pra mim como ficaria, so pra mim colocar o id que eu quero... é pq n manjo muito disso, mais desde ja obrigado por sanar todas as minhas duvidas...
CitardoPlayerAddItem(player, id do item, quantidade)
Editado Agosto 15 por Poccnn
meu ot não possui creaturescripts/scripts/config.lua
alternativa?
problema com o site também
Error occured!
Error ID:
More info: ERROR: #C-1 : Class::ConfigLUA - Line 62 of LUA config file is not valid [key: huntedTopLevel]
File: /var/www/html/classes/configlua.php Line: 59
File: /var/www/html/classes/configlua.php Line: 20
File: /var/www/html/classes/configlua.php Line: 12
File: /var/www/html/system/load.init.php Line: 42
File: /var/www/html/index.php Line: 18
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Em 28/09/2017 at 06:32, Markzi disse:meu ot não possui creaturescripts/scripts/config.lua
alternativa?
problema com o site também
Error occured!
Error ID:
More info: ERROR: #C-1 : Class::ConfigLUA - Line 62 of LUA config file is not valid [key: huntedTopLevel]
File: /var/www/html/classes/configlua.php Line: 59
File: /var/www/html/classes/configlua.php Line: 20
File: /var/www/html/classes/configlua.php Line: 12
File: /var/www/html/system/load.init.php Line: 42
File: /var/www/html/index.php Line: 18
o arquivo config.lua fica onde está a distro e não nesse diretório ai que tu citou.
Sim, eu compreendi, só que quando se altera o config.lua que está atrelado ao site gera esse bug, o site não reconhece essa tag e o script não roda no 1.3 tfs
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

12 minutos atrás, Markzi disse:Sim, eu compreendi, só que quando se altera o config.lua que está atrelado ao site gera esse bug, o site não reconhece essa tag e o script não roda no 1.3 tfs
Então não mecha no config.lua e adicione a variável ao script.
local huntedTopLevel = 100
Em 15/08/2017 at 11:29, Poccnn disse:Existe duas formas práticas de fazer isso. Uma com globalevents e outra com ondeath.
A com globalevents, fica enviando de tempos em tempos a msg de quen é o top level atual; a outra manda a mensagem uma vez, toda vez que se mata o top level atual.
Vou deixar aqui a globalevents para ficar anunciando o toplevel atual.
descupa reviver o topico mas o meu deu erro
<globalevent name="toplevel" interval="2000" script="toplevel.lua"/>
toplevel.lua
function onThink(cid, interval)
local name,lvl = getTopLevel()
doBroadcastMessage("top level: "..name.." as level: "..lvl..".")
end
erro ]
25/2/2018 14:12:36] [Error - GlobalEvent Interface]
[25/2/2018 14:12:36] data/globalevents/scripts/toplevel.lua:onThink
[25/2/2018 14:12:36] Description:
[25/2/2018 14:12:36] data/globalevents/scripts/toplevel.lua:3: attempt to call global 'getTopLevel' (a nil value)
[25/2/2018 14:12:36] stack traceback:
[25/2/2018 14:12:36] data/globalevents/scripts/toplevel.lua:3: in function <data/globalevents/scripts/toplevel.lua:1>
[25/2/2018 14:12:36] [Error - GlobalEvents::think] Couldn't execute event: toplevel




info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino
Hail Xtibianos.
Eu criei esse sistema, não lembro se foi a pedido de um membro ou não, para que seja interessante sempre matar o toplvl do otserver devido ao premio recebido por isso.
Em config.lua adicione:
Em creaturescripts.xml adicione:
Em creaturescripts/scripts/config.lua adicione:
Na mesma pasta, crie um arquivo lua com o nome toplvl e adicione:
Agora abra o arquivo lib/050-functions.lua e adicione:
No config.lua tu coloca o valor minimo requerido do toplvl para poder ser caçado.
Duvidas, erros e qualquer outra coisa, deixe nos comentários.